home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '92 / Talk & Papers ’92 / Tom Pittman (Pass the Torch) / Tom Pittman < prev   
Encoding:
Text File  |  1992-05-05  |  12.0 KB  |  193 lines  |  [TEXT/QED1]

  1. Pass the Torch: Enabling the Next Generation of Hackers
  2. by Tom Pittman
  3.  
  4. I used to think of programming as "beating back the advance of entropy" by
  5. injecting information and order into an otherwise entropic system. Then I
  6. discovered a different sense in which the complexity I added was itself an
  7. expression of entropy: as we pour energy and information into the technology
  8. that drives modern society, it thereby becomes more chaotic and less
  9. predictable.
  10.  
  11. As I write this, I am involved in the software redesign of a product, the
  12. original requirements of which proved so complex that the lead programmer had
  13. to eliminate half the features just to get it working. Most of those feature
  14. requirements were added back in when I took it on, and I also find the
  15. complexity overwhelming. It is interesting to observe that the same creeping
  16. feature creature that bit off Jim's head is now poised, jaws agape, over mine -
  17. never mind that I have a lot more experience and professional skills than he
  18. ever did.
  19.  
  20. On my first Mac, after upgrading it to 512K, I ran a lean 70K System file on a
  21. RAM disk and experienced an amazing leap in productivity over all previous
  22. computer systems in my career, large or small. Today I do even better with a
  23. rather corpulent 600K System file (not counting fonts), but I dread the day I
  24. must switch to a 1.6+ megabyte System 7. "Pink," the developing system software
  25. Apple contributed to its IBM alliance, reportedly has already over a million
  26. lines of code and 10,000 objects.
  27.  
  28. My first public software product was a Tiny Basic interpreter that fit in a 2K
  29. ROM, and I wrote it in less than a month. Now I sell a 600K HyperTalk compiler
  30. that with far better tools took some three years to get right.
  31.  
  32. The first Apple computer was built in a garage from a handful of logic gates on
  33. a 10" board back when most microprocessors sold for $400. Today's high-end
  34. Apple computer is still built on about the same size board with the same number
  35. of chips (and the CPU still costs something like $400), but we are talking
  36. about large-scale custom integrated circuits surface-mounted on four-layer
  37. boards with wiring traces so tiny they cannot be done by hand.
  38.  
  39. My father's first car, a Ford Model A, was simple enough in construction that
  40. he could do all his own maintenance with $20 worth of tools. I similarly
  41. maintained my first vehicle with tools that I already had. The car I bought
  42. this year, however, is so complex that the shop manual alone costs over $40; a
  43. computer many times the price of the car is required for a simple tune-up.
  44.  
  45. Part of my college tuition was paid from photography profits. I was no Ansel
  46. Adams, but I had a well-equipped darkroom capable of good color wedding
  47. photographs. Today all that is replaced in the industry by high-tech color
  48. print machines and 24-bit color editing software on Macintosh computers too
  49. expensive for my budget.
  50.  
  51. Everywhere you look, western culture is replacing simple methods with complex
  52. ones, manual efforts with computer technology. And everywhere the
  53. sophistication required to master this technology is zooming out of sight. Who
  54. is going to do it?
  55.  
  56. In America, the world leader in technological innovation for 100 years, advance
  57. comes as a curious mixture of big business professionalism and amateur
  58. tinkering ("hacking"). The aircraft industry was started as a hobby in a
  59. bicycle shop, but now it is the exclusive domain of a half-dozen huge aerospace
  60. companies. Computers were invented in research labs funded by large government
  61. grants, but they did not begin to remake modern technology until
  62. microprocessor-based computer systems became affordable to hackers. The
  63. spreadsheet, probably the single most significant software innovation of all
  64. time, was invented by a student on an Apple II. A culture of computer phreaks
  65. growing up on personal computers carried innovative ideas into industry, where
  66. it's hard to find an electronic gadget any more that is not controlled by a
  67. microprocessor.
  68.  
  69. Software engineering technology and new programming tools are increasing by
  70. leaps and bounds, but the required complexity in new computer-based products
  71. goes up exponentially. Frederick Brooks wrote in IEEE Computer magazine a few
  72. years back that there are no silver bullets to solve the software crisis. What
  73. he meant is that we cannot expect any magical cures to the problem. And he is
  74. right. Engineering in general, and software engineering in particular, can only
  75. extend known technology in predictable ways. But the personal computer industry
  76. was built by hackers, not engineers. Only science fiction writers - and readers
  77. - dared to predict what has come about in two decades. To the rest of the world
  78. it was a big surprise, the magical silver bullet. True magic is not
  79. predictable.
  80.  
  81. There is a fundamental difference between engineering and hacking. An engineer
  82. tries to reduce risks, to build on and improve existing technology to
  83. accomplish known goals in controlled steps. The hacker, like the proverbial
  84. fool jumping in where angels fear to tread, ignoring probable failure and
  85. potential consequences, optimistically sets out to do the impossible - and
  86. often succeeds. The engineer is like the expert skiers I watched in the winter
  87. Olympics a few years back: in full control of every muscle, every turn
  88. perfectly executed. The hacker is like the graceless fellow who stormed down
  89. the hill, skipping and sliding on every turn: you were sure he would spill out
  90. like so many before him who looked equally out of control. This guy somehow did
  91. not take a fall on that particular trip down the slope - and he won the gold
  92. medal. The engineer is a paid professional; the hacker works for love on his
  93. own resources. The engineer is trained; the hacker is inspired.
  94.  
  95. How, then, do we inspire the hackers and breed technological winners? If we
  96. knew that, we could apply sound engineering techniques to develop them, and
  97. they would be engineers, not hackers. A hacker is an artist, and like the
  98. artists squandering controversial government grants in the news today, most of
  99. their output is worthless. But you cannot know a priori which hackers are going
  100. to produce and which will fail. Indeed, most will fail to deliver any positive
  101. benefit to society. Some may even fall into destructive potholes producing
  102. obscenity and computer viruses. But we still encourage artists in general, and
  103. we should still encourage hacking.
  104.  
  105. The best inspiration to excellence and artistry is excellence and artistry. The
  106. best inspiration to excellent hacking is likewise excellent hacking. In the
  107. "good old days" when professions were, for lack of understanding, more art than
  108. technology, the next generation of professionals were trained by a process
  109. known as apprenticeship. Today we call the same process mentoring, but it is
  110. somewhat less formal. Successful older hackers should seek out and encourage
  111. promising young hackers to help them develop the attitudes and skills that will
  112. carry the tradition of innovation and excellence forward. Young, ambitious
  113. comers could do worse than to listen once in a while to the old fogies.
  114. Obviously this works better in a stable craft like stained glass or music, but
  115. there is room for mentoring in our profession also. Michael Hogan, my
  116. supervisor and mentor at the first full-time job I held, instilled in me his
  117. (and now my) philosophy of programming.
  118.  
  119. Another way for the excellence to pass on to the next generation is by means of
  120. inspired and inspiring program code. I learned the Macintosh mostly by reading
  121. other people's code through a MacsBug disassembly window. Bill Atkinson and
  122. Andy Hertzfeld and the whole Mac team have been an inspiration to us by virtue
  123. of the excellent software they released to the world.
  124.  
  125. As important as mentoring and inspiration-by-example may appear to us, however,
  126. all of the people I asked indicated that the dominant enabling influence for
  127. them was the availability of adequate tools. The two most important tools are,
  128. of course, a computer and a programming language. It almost does not matter
  129. which computer or what language, as long as they are available and offer
  130. opportunity to do "wonderful" things. "Available" in this context means that
  131. they are essentially free, that is, (at least initially) subsidized by other
  132. purposes. The MIT hackers in Steven Levy's book used an academic computer that
  133. was free after hours. Apple Computer got its start because MOS Technology came
  134. out with a $20 microprocessor when the average CPU chip sold for $300. A year
  135. earlier MITS made a similar splash by selling a whole computer (kit) for $400,
  136. about the same price as the CPU in it sold from Intel.
  137.  
  138. Peter Nagel tells me, "I had never written a line of code of any sort (except
  139. possibly an Excel macro and small Red Ryder scripts) before I got my hands on
  140. HyperCard shortly after its original release. At that time, I was between jobs
  141. and sat down to write a stack to handle timekeeping and billing chores that I
  142. still use in my law practice. Within several months, I bought a copy of
  143. Lightspeed Pascal, read its manual and a couple of other books on Pascal, and
  144. began writing short little XCMDs to improve my billing stacks." Now he is
  145. selling MasterScript, a serious commercial programming tool, to other
  146. programmers. An earlier version of this same software substantially influenced
  147. some of the features added to HyperCard 2.0. Peter concludes, "The result of
  148. all this is that I am deeply indebted to HyperCard for having introduced me to
  149. fundamental programming concepts and techniques."
  150.  
  151. HyperCard turns out to have a disproportionate influence in opening up computer
  152. programming to people. Swami Gurupremananda, another nascent hacker not quite
  153. so far along, even went so far as to buy his first Macintosh computer just so
  154. he could run HyperCard. "With my increasing knowledge of HyperCard," he said,
  155. "I, who have not taken even one course in programming, started making stacks to
  156. run our correspondence course. Now all our work is done in HyperCard. The IBMs
  157. were forced into early retirement!" Most people, however, are more like Susan
  158. Leschr, who told me, "The fact that HyperCard came with my computer (1987) had
  159. a lot to do with it." Brian Molyneaux, the CompileIt product manager at Heizer
  160. Software, reports that a number of our customers use CompileIt as a stepping
  161. stone along the path from HyperCard to conventional programming languages such
  162. as Pascal and C.
  163.  
  164. Bill Atkinson reportedly offered HyperCard to Apple on the condition that it
  165. ship free in every Macintosh. That is the availability that develops unforeseen
  166. hackers and inspires new programmers. Present Apple/Claris policy appears to be
  167. based on seeing the vast majority of Mac owners who have not yet discovered
  168. HyperCard - or simply lack the hacker mentality - and a few enlightened
  169. companies using it in-house for prototyping and other "throw-away" programs.
  170. This ignores the fact that HyperCard performs a valuable social service if and
  171. only if it is available (read "free" again) to a large number of people, most
  172. of whom will never take advantage of it. Bill had the right vision.
  173.  
  174. Bill Atkinson and Andy Hertzfeld have gone on to other ventures, which I assume
  175. and hope will benefit us as much as HyperCard and the Mac did. We must not,
  176. however, abdicate our own responsibility to benefit society and leave it all to
  177. such luminaries. Peter Nagel is producing software tools to help other
  178. programmers along the path he has come. Swami Gurupremananda gets online on
  179. CompuServe and elsewhere, answering questions from beginners not far behind
  180. himself. Each of us can do our part to help new programmers with advice and
  181. tools.
  182.  
  183. I conclude this essay with a challenge: How were you helped to become what you
  184. are? What have you done to pass that help along and repay your debt to society?
  185. Our only hope of rescue from exponential complexity is likely to come from some
  186. new hack not yet thought of. Perhaps you will invent it; perhaps you can only
  187. help some other hacker along the way, and he will invent it. Who can know?
  188. Quoting the medieval monastic Bernard, Isaac Newton said, "If I have seen
  189. farther than others, it is because I stood on the shoulders of giants." You
  190. could be the giant under the feet of the next generation of Newtons.
  191.  
  192.  
  193.